1. Field of the Invention
The invention relates generally to global positioning system (GPS) receivers and more particularly to a GPS receiver having fast time to first fix by comparing a chunk of received data bits to chunks of expected data bits within a designated search range of an expected GPS data message.
2. Description of the Prior Art
The global positioning system (GPS) is a system using GPS satellites for broadcasting GPS signals having information for determining location and time. Each GPS satellite broadcasts a GPS signal having message data that is unique to that satellite. The message for a Coarse/Acquisition (C/A) format of the GPS signal has data bits having twenty millisecond time periods. The twenty millisecond data bits are modulated by a one millisecond pseudorandom noise (PRN) code having 1023 bits or chips. The PRN code for each GPS satellite is distinct, thereby enabling a GPS receiver to distinguish the GPS signal from one GPS satellite from the GPS signal from another GPS satellite. The twenty millisecond GPS data bits are organized into thirty second frames, each frame having fifteen hundred bits. Each frame is subdivided into five subframes of six seconds, each subframe having three hundred bits.
One of the important figures of merit for a GPS receiver is its time to first fix, or the time period that it takes the GPS receiver from the time that it is turned on to the time that it begins providing its position and/or time to a user. In order to make this time period short, GPS receivers may be designed for what is sometimes known as a hot start. For a hot start, the GPS receiver starts acquisition with information for its own approximate location, an approximate clock time, and ephemeris parameters for the locations-in-space of the GPS satellites.
For a hot start, when the GPS receiver is turned on or returns to active operation from a standby mode, the GPS receiver processes its approximate time and location with the almanac or ephemeris information to determine which of the GPS satellites should be in-view and generates GPS replica signals having carrier frequencies and pseudorandom noise (PRN) codes matching the estimated Doppler-shifted frequencies and the PRN codes of the in-view GPS satellites. A search pattern or fast Fourier transform is used to find correlation levels between the replica signals and the carrier frequency and the PRN code of the incoming GPS signal. A high correlation level shows that GPS signal acquisition has been achieved at the frequency, code and code phase of the replica and the GPS receiver may begin tracking the frequency and the time-of-arrival of the code of the incoming GPS signals. At this point the GPS receiver knows the timing of the GPS data bits but it cannot determine its position because it does not yet know the absolute GPS clock time.
The GPS clock time is conventionally determined by monitoring the GPS data bits until a TLM is recognized for the start of a subframe. Following the TLM word, the GPS receiver reads a Zcount in the GPS data bits in a hand over word (HOW) to learn a GPS clock time. A current precise location-in-space of the GPS satellite is calculated from the GPS clock time and the ephemeris information. The time-of-arrival of the code of the GPS replica signal is then used to calculate a pseudorange between the location of the GPS receiver and the location-in-space of the GPS satellite. The geographical location fix is derived by linearizing the pseudorange for the approximate location of the GPS receiver and then solving four or more simultaneous equations having the linearized pseudoranges for four or more GPS satellites.
A limitation of the above-described conventional hot start is that the GPS receiver must monitor the GPS messages data bits for up to six seconds or about three seconds on the average to receive one-half subframe for a TLM word; or about nine seconds on the average to receive one and one-half subframes in order to verify that a first TLM word is not a random event of bits. This monitoring time may add significantly and may even be the largest single component of the time to first fix. One possibility for eliminating the monitoring time is to maintain, or quickly receive, a time standard having a time accuracy ten milliseconds or better with respect to GPS time. This accuracy may be maintained over a several hour period in the GPS receiver with a very stable internal clock. Or, the GPS receiver may receive a radio signal such as WWV or a communication signal that requires accurate time for its own purposes such as certain CDMA cellphone signals. The closest twenty millisecond data bit transition is then used to resolve the remaining error. However, these methods for providing ten millisecond or better time accuracy add hardware cost or power consumption or both in the GPS receiver.